package com.yhm.myfootbollshow.demos.entity.po;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

import java.util.Date;


/**
* 用户表
* @TableName user
*/
@Data
public class User implements Serializable {

    /**
    * 用户ID
    */
    @ApiModelProperty("用户ID")
    @TableId
    private Long userId;
    /**
    * 用户名
    */
    @ApiModelProperty("用户名")
    private String username;
    /**
    * 密码(加密存储)
    */
    @ApiModelProperty("密码(加密存储)")
    private String password;
    /**
    * 邮箱
    */
    @ApiModelProperty("邮箱")
    private String email;
    /**
    * 手机号
    */

    @ApiModelProperty("手机号")
    private String phone;
    /**
    * 真实姓名
    */

    @ApiModelProperty("真实姓名")
    private String realName;
    /**
    * 性别(0-未知 1-男 2-女)
    */
    @ApiModelProperty("性别(0-未知 1-男 2-女)")
    private Integer gender;
    /**
    * 生日
    */
    @ApiModelProperty("生日")
    private String birthday;
    /**
     * 头像URL
     */
    @ApiModelProperty("头像URL")
    private String imgUrl;
    /**
    * 权限
    */
    @ApiModelProperty("权限")
    private String role;
    /**
    * 状态(0-禁用 1-正常)
    */
    @ApiModelProperty("状态(0-禁用 1-正常)")
    private Integer status;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    /**
    * 更新时间
    */
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;


    // 初始化创建更新时间以及状态角色
    public void initUser(){
        this.createTime = new Date();
        this.updateTime = new Date();
        this.status = 1;
        this.role = "user";
    }
}
